Information processing apparatus, method for controlling the same, and storage medium

ABSTRACT

An information processing apparatus having a touch panel display includes a first detection unit configured to detect that an object touches the touch panel display, and a second detection unit configured to detect that the object touches an area of a display item on the touch panel display and then detect that the object moves outside the area of the display item while touching the touch panel display. When the display item is in a flick or drag operation detectable area, the information processing apparatus performs control not to carry out processing associated with the display item in response to the detection by the second detection unit.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Continuation of U.S. application Ser. No.14/793,442, filed Jul. 7, 2015, which claims the benefit of priorityfrom Japanese Patent Application No. 2014-142729 filed Jul. 10, 2014,which are each hereby incorporated by reference herein in theirentireties.

BACKGROUND OF THE INVENTION Field of the Invention

The present disclosure generally relates to information processing and,more particularly, to an information processing apparatus having a touchpanel display, a method for controlling the information processingapparatus, and a storage medium.

Description of the Related Art

In recent years, image forming apparatuses having a touch panel displayhave been commonly used. Such an image forming apparatus is providedwith various applications such as copy, print, scan, and FAXtransmission. A user is able to make setting for each application andinstruct the apparatus to start processing of each application byperforming touch operations on software buttons on the touch paneldisplay.

Button control on a touch panel display will be described below withreference to FIGS. 7A to 7D. FIG. 7A illustrates an appearance of thetouch panel display. The touch panel display includes a touch panel area701 which is comprised of a liquid crystal display (LCD) and a touchpanel stuck thereon. The touch panel display further includes softwarebuttons 702 and 703. FIGS. 7B and 7C are sectional views illustratingthe touch panel taken along a line 704 illustrated in FIG. 7A, and touchoperations by the user. A section 706 is equivalent to a line 707, and awidth 705 of the button 702 in the X direction is equivalent to a button708. Since the software buttons 702 and 703 on the touch panel displayare 2-dimensionally formed, to make determinations in the X and the Ydirections, it is necessary to detect a touch position. However, sincethese determinations are similarly handled, one-dimensionalrepresentations are used to simplify descriptions in FIGS. 7B and 7C.

Generally, there are the following two different cases in buttondetermination:

-   A. When the apparatus detects that a button area is pressed by the    finger of a user, the apparatus performs processing associated with    the pressed button.-   B. When the apparatus detects that a button area is pressed by the    finger of a user and then the finger is detached from the relevant    button area, the apparatus performs processing associated with the    pressed button.

In a case of A, since the button operation by the user is input as soonas the user touches the button, the user can feel a light touch input.For example, when a calculator having large buttons is displayed, thefeeling of operation can be improved. However, in a case of A, even ifthe user touches a button by mistake, the button operation by the useris input as soon as the button is touched. To address this problem, themethod in a case of B is used to provide accuracy in button depression.Case B is a case which is a subject of exemplary embodiments of thepresent invention and will be described in detail below.

FIG. 7B illustrates a case where the user touches a button area (709)with the finger and then detaches the finger from the button area (710).In this case, when the apparatus detects that the finger touches thebutton area, the relevant button is put in the selection state. Then,when the apparatus detects that the finger is detached from the buttonarea, the apparatus performs processing associated with the selectedbutton. For example, when a copy button on a menu screen is selected,the screen changes to a copy application setting screen. When a colorsetting button on the copy application setting screen is selected, thescreen changes to a color setting screen.

FIGS. 7C and 7D illustrate a case where the user touches a button area(711) with the finger, moves the finger outside the button area whilekeeping it in contact with the button area, and then detaches the finger(712). In this case, when the apparatus detects that the finger has beenmoved outside the button area as illustrated in FIG. 7C, the buttonselection is canceled. Therefore, if the user presses a button bymistake, the user is able to cancel execution of processing associatedwith the button by moving the finger out of the button area whilekeeping it in contact with the button area, and then detaching thefinger.

However, in a case of a small-sized button such as the button 703, theuser's finger may be moved out of the button area by slight motion ofthe finger although the user thinks the finger is detached from thebutton area after touching the button inside the button area. As aresult, the execution of processing associated with the button will becanceled despite the user's intention.

To solve such a problem, an image forming apparatus performs control inthe following way. When the apparatus detects that the finger of a usertouches a button area and then the finger is moved out of the buttonarea, the apparatus performs processing associated with the button asillustrated in FIG. 7D. By performing such control, even if the useroperates a small-sized button, the execution of processing associatedwith the button can be prevented from being canceled despite the user'sintention.

Lately, some image forming apparatuses have a touch panel displaysupporting flick operations. A flick operation refers to an operation inwhich the user quickly flips the surface of the touch panel display withthe finger. Japanese Patent Application Laid-Open No. 2011-210009discusses an image forming apparatus which is provided with a pluralityof applications such as copy and print, and displays a menu screenarranging icons for selecting applications to be used. Japanese PatentApplication Laid-Open No. 2011-210009 discusses a technique for smoothlyscrolling the screen with a flick operation to change pages when iconsdo not fit into one page of the menu screen, so that the user can selectan arbitrary application out of the plurality of applications providedby the image forming apparatus.

However, when it is enabled to perform flick operations in an imageforming apparatus which performs button control as illustrated in FIG.7D, the following problems will arise. More specifically, in a casewhere the user performs the flick operation in a button area, processingassociated with the button will be performed when the user moves thefinger out of the relevant button area. As a result, although the userperforms a flick operation to change a page, processing associated withthe button will be performed despite the user's intention.

Such a problem is not limited to a button, and may commonly arise withany display item which is scrollable by a flick or drag operation and isassociated with processing to be performed when pressed by the user.

SUMMARY OF THE INVENTION

The present disclosure is directed to preventing selection of a displayitem from being canceled despite the user's intention and to preventingprocessing associated with a display item from being performed despitethe user's intention when a flick or drag operation is performed on thedisplay item.

According to an aspect of the present disclosure, an informationprocessing apparatus having a touch panel display includes a firstdetection unit configured to detect that an instruction object touchesthe touch panel display, a second detection unit configured to detectthat the instruction object is moving while touching the touch paneldisplay, and a third detection unit configured to detect that theinstruction object having been held in contact with the display isdetached therefrom. The information processing apparatus furtherincludes a control unit configured to, in a case where the firstdetection unit detects that an instruction object touches an area of adisplay item on the touch panel display and then the second detectionunit detects that the instruction object is moving while touching thetouch panel display, perform control to carry out processing associatedwith the display item when the third detection unit detects that theinstruction object is detached from the touch panel display before amoving distance of the instruction object reaches a predeterminedthreshold value, and not to perform control to carry out processingassociated with the display item when the moving distance of theinstruction object reaches the predetermined threshold value before thethird detection unit detects that the instruction object is detachedfrom the touch panel display.

Further features of the present disclosure will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a hardware configuration of an image formingapparatus according to exemplary embodiments of the present invention.

FIGS. 2A, 2B, and 2C illustrate examples of a custom menu screendisplayed on a display of the image forming apparatus according toexemplary embodiments of the present invention.

FIG. 3 illustrates an example of a copy application setting screendisplayed on the display of the image forming apparatus according toexemplary embodiments of the present invention.

FIGS. 4A and 4B illustrate problems of the present invention.

FIG. 5 is a flowchart illustrating operations of an image formingapparatus according to a first exemplary embodiment.

FIG. 6 is a flowchart illustrating operations of an image formingapparatus according to a second exemplary embodiment.

FIGS. 7A, 7B, 7C, and 7D illustrate button control on a touch paneldisplay.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the disclosurewill be described in detail below with reference to the drawings.

A first exemplary embodiment will be described below. FIG. 1 illustratesa hardware configuration of an image forming apparatus 101 to which eachexemplary embodiment of the present invention is applicable.

A central processing unit (CPU) 111, a random access memory (RAM) 112, aread only memory (ROM) 113, an input unit 114, a display control unit115, an external memory interface (I/F) 116, a printer I/F 117, ascanner I/F 118, and a communication I/F controller 119 are connected toa system bus 110. Further, a touch panel 120, a display 121, an externalmemory 122, a printer 123, and a scanner 124 are connected to the systembus 110. Each unit connected to the system bus 110 is configured toenable transmitting and receiving data to/from other units via thesystem bus 110. As used herein, the term “unit” generally refers to anycombination of software, firmware, hardware, or other component, such ascircuitry, that is used to effectuate a purpose.

The ROM 113, a nonvolatile memory, stores in respective predeterminedareas image data, non-image data, and various programs for operation tobe executed by the CPU 111. The RAM 112, a volatile memory, is used as amain memory for the CPU 111 and a temporary storage area such as a workarea. The CPU 111 controls each unit of the image forming apparatus 101,for example, according to a program stored in the ROM 113 by using theRAM 112 as a work memory. Programs for operation to be executed by theCPU 111 are not necessarily stored in the ROM 113 and may be prestoredin the external memory 122, such as a hard disk.

The input unit 114 receives a user operation, generates a control signalaccording to the operation, and supplies the control signal to the CPU111. For example, the input unit 114 includes the touch panel 120 as aninput device for receiving the user operation. The touch panel 120 is aninput device for outputting coordinates information, for example,according to a touched position on the planarly configured input unit114. Based on the control signal generated and supplied in response tothe user operation performed on the input device, the CPU 111 controlseach unit of the image forming apparatus 101 according to programs.Thus, the CPU 111 is able to instruct the image forming apparatus 101 toperform an operation in response to the user operation.

The display control unit 115 outputs a display signal for displaying animage to the display 121. For example, a display control signalgenerated by the CPU 111 according to a program is supplied to thedisplay control unit 115. The display control unit 115 generates adisplay signal based on the display control signal, and outputs thedisplay signal to the display 121. For example, based on the displaycontrol signal generated by the CPU 111, the display control unit 115displays a graphical user interface (GUI) screen on the display 121.

The touch panel 120 is configured integrally with the display 121 tofunction as a touch panel display. For example, the touch panel 120 isconfigured so that transmissivity of light does not disturb display ofthe display 121, and is arranged on the upper layer of the displaysurface of the display 121. The input coordinates on the touch panel 120are associated with the display coordinates on the display 121. Thus, aGUI can be configured to allow an operation as if the user directlyoperates the screen displayed on the display 121. The touch panel 120may be any type, such as resistance film type, capacitance type, surfaceacoustic wave type, infrared-ray type, electromagnetic induction type,image recognition type, and optical sensor type.

The external memory 122, such as a hard disk, a compact disc (CD), adigital versatile disc (DVD), and a memory card, can be attached to theexternal memory I/F 116. Under the control of the CPU 111, the externalmemory I/F 116 writes and reads data to/from the attached externalmemory 122.

The printer 123 is connected to the printer I/F 117. Under the controlof the CPU 111, image data to be printed by the printer 123 istransmitted to the printer 123 via the printer I/F 117 and then printedon a recording medium by the printer 123.

The scanner 124 is connected to the scanner I/F 118. Under the controlof the CPU 111, the scanner 124 reads an image on a document to generateimage data. The generated image data is stored in the RAM 112 and theROM 113 via the scanner I/F 118. When the printer 123 performs printingbased on the image data generated by the scanner 124, the copy functionis achieved.

Under the control of the CPU 111, the communication I/F controller 119performs communication with a network 102, such as a local area network(LAN), the Internet, and other wired and wireless networks. For example,image data generated by the scanner 124 can be transmitted to theoutside via the network 102, and image data received from the outsidevia the network 102 can be printed by the printer 123.

The CPU 111 is able to detect, for example, the following operations andstates of the touch panel 120: having touched the touch panel with thefinger or pen (object) (hereinafter referred to as a “touch-down”),moving the finger or pen while keeping it in contact with the touchpanel (hereinafter referred to as a “move”), a state where the finger orpen is held in contact with the touch panel (hereinafter referred to asa “touch-on”), and detaching the finger or pen from the touch panel(hereinafter referred to as a “touch-up”). The CPU 111 is further ableto detect a touch-down in a software button area displayed on thedisplay 121 and then detect that the finger or pen is moved out of thesoftware button area while being held in contact with the touch panel(herein after referred to as an “exit”). The touch panel 120 is amulti-touch detectable touch panel. More specifically, even when atouch-down, a touch-on, a move, and a touch-up are performed by aplurality of fingers and pens at the same time, the touch panel 120 isable to detect respective operations and states. These operations andcoordinates of a position touched by the finger or pen on the touchpanel 120 are transferred to the CPU 111 via the system bus 110. The CPU111 determines operation performed on the touch panel 120 based on thetransferred information. For a move, the CPU 111 determines the movingdirection of the finger or pen on the touch panel 120 based on changesof the position coordinates for each of the vertical and the horizontalcomponents on the touch panel 120.

FIGS. 2A, 2B, 2C, and 3 illustrate screens displayed on the display 121of the image forming apparatus 101.

The image forming apparatus 101 is provided with a copy function ofoptically reading an image of a document of a paper medium, convertingthe image into electronic data, performing image processing on the data,and printing the data on another paper medium. The image formingapparatus 101 is further provided with a “scan and send” function (sendfunction) of transmitting the read electronic data to other apparatusesvia the network 102. The image forming apparatus 101 is further providedwith a “scan and store” function (box function) of storing the readelectronic data in the external memory 122. The image forming apparatus101 is further provided with a web browser function of arranging anddisplaying a Hyper Text Markup Language (HTML) contents acquired from anexternal server via the network 102. The image forming apparatus 101independently stores the above-described functions as differentapplications in the ROM 113. The CPU 111 executes a required applicationaccording to a user's operation.

FIGS. 2A to 2C illustrate custom menu screens displayed on the display121. The custom menu refers to a function of storing setting values ofapplications, displaying application buttons on a screen, and, when anapplication button is pressed, reproducing stored setting values anddisplaying a relevant application screen.

Referring to FIG. 2A, a button display area 201 displays applicationbuttons for invoking different applications. Each of the applicationbuttons displayed in the button display area 201 is associated with eachapplication provided by the image forming apparatus 101 and relevantsetting values. When the user presses an application button displayed inthe button display area 201, the application screen associated with therelevant button is displayed and setting values associated with thebutton are reflected therein. Further, the application buttons displayedin the button display area 201 can also be associated with userinformation authenticated through user authentication. A title and acomment can be set to each application button displayed in the buttondisplay area 201. The user who registers the button is able toarbitrarily set the title and the comment. For example, a title “Copy”and a comment “Two-sided, 2 Copies” are displayed on a button 202. Morespecifically, each button displays an application name and an iconassociated with the button, and a title and a comment regarding thesetting values. The button 202 is associated with a copy application andassociated with setting values for two-sided printing and 2 copies. Whenthe user selects the button 202, the screen illustrated in FIG. 3(described below) is displayed.

A my button 203 is used to display only application buttons associatedwith the currently authenticated user in the button display area 201. Ashared button 204 is used to display only application buttons associatedwith all users, i.e., application buttons usable by all users in thebutton display area 201.

A page position display mark 205 schematically represents each page witha circle mark, indicating that a plurality of pages is virtuallyarranged in the horizontal direction. In this case, the page positiondisplay marks 205 indicate that the custom menu includes 3 pages andthat the currently displayed screen is the first page (the pagevirtually arranged at the leftmost position).

The button display area 201 includes page change buttons 206 and 207.The page change button 206 is used to indicate change to the pagevirtually arranged to the right of the currently displayed page. Thepage change button 207 is used to indicate change to the page virtuallyarranged to the left of the currently displayed page. If there exists nopage to the right or left of the currently displayed page, the pagechange button 206 or 207 is displayed in grayout (disabled). Forexample, referring to FIG. 2A, the button 207 is displayed in grayoutbecause there exists no page to the left of the currently displayedpage.

When the user presses the page change button 206 on the screenillustrated in FIG. 2A, the application button list in the buttondisplay area 201 scrolls to the left (see FIG. 2B) and the screenillustrated in FIG. 2C is displayed. On the screen illustrated in FIG.2C, the page position display mark 205 indicating the currentlydisplayed page has been moved to the middle, which indicates that thesecond page is currently displayed.

The custom menu screens illustrated in FIGS. 2A to 2C further include aflick operation detectable area 208 in which a flick or drag operationby the user can be detected. A flick operation is an operation in whichthe user quickly moves the finger while keeping it in contact with thetouch panel over a predetermined distance and then detaches the finger.In other words, the user flips the surface of the touch panel with aquick movement of the finger. When the CPU 111 detects a touch-down inthe flick operation detectable area 208, a move at a predetermined speedor faster over a predetermined distance or longer, and then a touch-up,the application button list scrolls following the finger motion and thenthe page changes. A drag operation is an operation to move the fingerover a predetermined distance or longer keeping it in contact with thetouch panel. When the CPU 111 detects a touch-down in the flickoperation detectable area 208, a move over a predetermined distance orlonger, and then a touch-on, the application button list scrollsfollowing the finger motion and then the page changes. For example, whenthe user performs a flick operation from right to left in the flickoperation detectable area 208 on the screen illustrated in FIG. 2A, theapplication button list scrolls to the left (see FIG. 2B) and the screenillustrated in FIG. 2C is displayed. When the user performs a flickoperation from left to right in the flick operation detectable area 208on the screen illustrated in FIG. 2C, the application button listscrolls to the right and the screen illustrated in FIG. 2A is displayed.

FIG. 3 illustrates a copy application setting screen displayed when thebutton 202 illustrated in FIG. 2A is selected. An icon 301 indicatessetting of two-sided printing. An icon 302 indicates that the number ofcopies is set to 2. The copy application setting screen illustrated inFIG. 3 is a screen in which a flick or drag operation by the user is notdetectable. Therefore, even if the user performs a flick or dragoperation on the screen illustrated in FIG. 3, buttons are not scrolledand the screen is not changed.

Thus, screens displayed on the image forming apparatus 101 includescreens having an area in which a flick operation is detectable(hereinafter simply referred to as a flickable area) and screens havingonly an area in which a flick operation is not detectable.

Button control on the touch panel display on the image forming apparatus101 will be described in detail below. On the copy application settingscreen illustrated in FIG. 3, when a touch-down is detected in a buttonarea, the relevant button is put into a selection state (for example,the button is highlighted), as illustrated in FIG. 7B. When a touch-upis detected inside the button area, processing associated with theselected button is performed. Further, on the copy application settingscreen illustrated in FIG. 3, button control as illustrated in FIG. 7Cis not performed but button control as illustrated in FIG. 7D isperformed. More specifically, when a touch-down is detected in a buttonarea, the relevant button is put into the selection state. Then, when amove is detected and an exit is subsequently detected, processingassociated with the selected button is performed. Also in eachapplication screen (“scan and send”, “scan and store”, “web browser”,etc.), similar button control to the one illustrated in FIG. 3 isperformed.

Meanwhile, when similar button control is performed on the custom menuscreen illustrated in FIGS. 2A to 2C, a problem may arise when a flickor drag operation is performed. FIGS. 4A and 4B illustrate the relevantproblem.

Referring to FIG. 4A, the user performs a flick operation to changepages. In this case, if the starting position of the flick operation (atouch-down detection position 401) is outside a button area, theapplication button list is scrolled according to the user's intentionand the page is changed. On the other hand, if the starting position ofthe flick operation is in a button area, the button is put into theselection state (an application button 402 is highlighted in FIG. 4A)when a touch-down is detected. Then, when the user's finger is moved bya flick operation 403 outside the button area, an exit is detected andprocessing associated with the application button 402 will be performed.As a result, the screen will be changed to the copy application settingscreen illustrated in FIG. 4B despite the user's intention to changepages in the custom menu screen. A similar problem occurs not only in aflick operation but also in a drag operation.

The image forming apparatus 101 according to the present exemplaryembodiment performs control not to execute processing associated withthe selected button even when a touch-down is detected in a button areain the flickable area, and an exit is subsequently detected. Thisenables preventing processing associated with the selected button frombeing performed despite the user's intention when the user performs aflick operation to change pages.

When an exit is detected, processing associated with the relevant buttonis not performed and the button selection is not canceled. The buttonselection is canceled when a move is detected, i.e., when the CPU 111detects that the finger moves over a predetermined distance in thehorizontal direction (X direction) from the touch-down detectionposition. The purpose of performing such control will be describedbelow. For example, when operating a button having a comparatively smallsize such as the page change buttons 206 and 207, the finger may bemoved outside the button area by slight motion of the finger althoughthe user thinks the finger is placed inside the button area and then isdetached from the relevant button area. In this case, if the buttonselection is canceled when an exit is detected, the execution ofprocessing is canceled despite the user's intention and the page willnot be changed. Therefore, with the above-described control, even if thefinger is placed inside the button area and then moved outside thebutton area, processing associated with the selected button is performedas long as the operation is a move within a distance shorter than thepredetermined distance. This enables achieving button control reflectingthe user's intention.

FIG. 5 is a flowchart performed by the image forming apparatus 101 whena touch operation is performed on the touch panel 120 by the user. Eachstep of the flowchart illustrated in FIG. 5 is implemented when the CPU111 executes a program stored in the ROM 113 or the external memory 122.

In step S501, the CPU 111 determines whether a touch-down is detected ina button area. When a touch-down is detected outside the button area (NOin step S501), the processing proceeds to the step S515. In step S515,the CPU 111 performs processing for the case where the finger is placedoutside the button area. For example, when the CPU 111 detects atouch-down a move at a predetermined speed or faster over apredetermined distance or longer, and then a touch-up in the flickablearea (see FIG. 2A), the application button list scrolls following thefinger motion and then the page changes. On the other hand, when the CPU111 detects a touch-down outside the flickable area, the CPU 111performs no specific processing. When a touch-down is detected in abutton area (YES in step S501), then in step S502, the CPU 111 sets therelevant button in the selection state. The display control unit 115highlights the button in the selection state to enable the user torecognize that the button is selected.

In step S503, the CPU 111 determines whether the button exists in theflickable area. When it is determined that the button does not exist inthe flickable area (for example, a button in the copy applicationsetting screen illustrated in FIG. 3) (NO in step S503), the processingproceeds to step S504. On the other hand, when it is determined that thebutton exists in the flickable area (for example, a button on the custommenu screen illustrated in FIGS. 2A to 2C) (YES in step S503), theprocessing proceeds to step S508.

When the CPU 111 detects a touch-up (YES in step S504), then in stepS505, the CPU 111 performs processing associated with the selectedbutton. Then, the processing exits the flowchart. When the CPU 111 doesnot detect a touch-up (NO in step S504) and detects a move (YES in stepS506), then in step S507, the CPU 111 determines whether an exit isdetected. When the CPU 111 detects an exit (YES in step S507), theprocessing proceeds to step S505. In step S505, the CPU 111 performsprocessing associated with the selected button. When the CPU 111 detectsa move (YES in step S506), does not detect an exit (NO in step S507),and detects a touch-up (YES in step S504), the processing proceeds tostep S505. More specifically, even in the case where the user touchesthe button area with the finger and then the finger is slightly moved,processing associated with the relevant button is performed when thefinger is detached from the touch panel 120 as long as the finger ismoved within the relevant button area.

When the CPU 111 detects a touch-up (YES in step S508), then in stepS505, the CPU 111 performs processing associated with the selectedbutton. When the CPU 111 does not detect a touch-up (NO in step S508)and detects a move (YES in step S509), the processing proceeds to stepS510. When the CPU 111 detects an exit (YES in step S510), theprocessing returns to step S508. More specifically, in the case where abutton is in the flickable area, even when the finger is moved outsidethe button area, processing associated with the selected button is notperformed.

When the CPU 111 does not detect an exit (NO in step S510) and detectsthat the distance of a move from the touch-down position has reached apredetermined threshold value (YES in step S511), then in step S512, theCPU 111 cancels the button selection. The display control unit 115restores the button in the selection state to the normal display stateto enable the user to recognize that the button selection is canceled.When the user performs a flick or drag operation to change page, the CPU111 determines that the distance of a move has reached the predeterminedthreshold value (YES in step S511).

In step S513, the CPU 111 determines whether the currently displayedpage is to be changed. When the CPU 111 determines that the currentlydisplayed page is to be changed (YES in step S513), then in step S514,the CPU 111 performs screen transition as illustrated in FIGS. 2A to 2C.

As described above, when a touch-down is detected in a button area onthe touch panel display, the image forming apparatus 101 according tothe present exemplary embodiment switches button control methodsaccording to whether the button exists in the flickable area. Morespecifically, in the case where a button is in a flick operationundetectable area, the image forming apparatus 101 performs processingassociated with the button when the user moves the finger outside therelevant button area. On the other hand, in the case where a button isin the flickable area, the image forming apparatus 101 performs controlnot to perform processing associated with the button when the finger ismoved outside the relevant button area. Further, in the case where abutton is in the flickable area, the image forming apparatus 101 cancelsthe button selection when the finger moves over a predetermineddistance.

According to the present exemplary embodiment, it is possible to preventselection of a button from being canceled despite the user's intentionand to prevent processing associated with a button from being performeddespite the user's intention when the user performs a flick or dragoperation on the relevant button.

In the first exemplary embodiment described above, in a case where atouch-down is detected in a button area in the flickable area,processing associated with the button is not performed when the fingeris moved outside the relevant button area. In the present exemplaryembodiment, in the case where a button is in the flickable area but isnot scrollable by a flick or drag operation, processing associated withthe button is performed when the finger is moved out of the relevantbutton area, similar to a button in a flick operation undetectable area.Buttons not scrollable by a flick or drag operation are buttons otherthan the application buttons illustrated in FIGS. 2A to 2C, i.e., notscrollable buttons are the my button 203, the shared button 204, and thepage change buttons 206 and 207. A second exemplary embodiment will bedescribed below mainly with respect to differences from the firstexemplary embodiment.

FIG. 6 is a flowchart illustrating operations of the image formingapparatus 101 according to the second exemplary embodiment. Stepsidentical to those of the flowchart illustrated in FIG. 5 are assignedthe same step number. The flowchart illustrated in FIG. 6 differs fromthe flowchart illustrated in FIG. 5 in that processing in step S601 isadded. The following descriptions will be made mainly with respect tothe difference. Similar to the flowchart illustrated in FIG. 5, eachstep of the flowchart illustrated in FIG. 6 is implemented when the CPU111 executes a program stored in the ROM 113 of the image formingapparatus 101 or the external memory 120.

When the button exists in the flickable area (YES in step S503), then instep S601, the CPU 111 determines whether the button is scrollable by aflick or drag operation. When the button is scrollable by a flick ordrag operation (YES in step S601), the processing proceeds to step S508and subsequent steps. When the button is not scrollable by a flick ordrag operation (NO in step S601), the processing proceeds to step S504and subsequent steps.

Thus, in the present exemplary embodiment, in the case of a button whichis in the flickable area but is not scrollable by a flick or dragoperation, processing associated with the button is performed when anexit is detected similar to the case of buttons in a flick operationundetectable area. Specifically, when a touch-down is detected in thebutton area, the image forming apparatus 101 according to the presentexemplary embodiment switches button control methods according towhether the relevant button is scrollable by a flick or drag operation.More specifically, in the case of a button not scrollable by a flick ordrag operation, the image forming apparatus 101 performs control tocarry out processing associated with the button when the usersubsequently moves the finger outside the button area. On the otherhand, in the case of a button scrollable by a flick or drag operation,the image forming apparatus 101 performs control not to performprocessing associated with the button when the finger is subsequentlymoved outside the button area. Then, the image forming apparatus 101performs control to cancels the button selection when the finger ismoved over a predetermined distance. It is considered that, when theuser performs a flick operation, the user generally performs a directoperation on a scrollable button by touching it, and seldom performs aflick operation on a button not scrollable by a flick operation.Therefore, even in the case of a button which is in the flick operationdetectable area 208 but is not scrollable, the user's operability can beimproved by performing button control similar to button control in aflick operation undetectable area.

While the present disclosure has specifically been described based onexemplary embodiments, the present disclosure is not limited thereto butcan be modified in diverse ways without departing from the spirit andscope thereof. Further, parts of the above-described exemplaryembodiments may be suitably combined.

For example, display items which are in a scrollable manner displayed onthe touch panel display are not limited to application buttons in thecustom menu screen. The present disclosure may be applied to buttonswhich are in a scrollable manner displayed by a flick or drag operationon screens other than the custom menu screen. In addition to buttons,the present disclosure is also applicable to images, icons, and anyother items, as long as it is in a scrollable manner displayed on ascreen, and processing associated with the item is performed when adisplay item is pressed by the user. The present disclosure isapplicable not only to display items which scroll in the horizontaldirection but also to display items which scroll in the vertical andoblique directions and display items which scroll in all direction.

Although the above-described exemplary embodiments are described basedon the image forming apparatus 101 having a plurality of functions suchas a copy function and a scanner function, the present invention is alsoapplicable to an image processing apparatus having only some of thesefunctions. The present disclosure may be applied to other informationprocessing apparatuses such as personal computers, personal digitalassistants (PDAs) mobile phones, facsimiles, cameras, video cameras, andother image viewers.

As described above, according to the present exemplary embodiment, it ispossible to prevent selection of a display item from being canceleddespite the user's intention and, when a flick or drag operation isperformed on a displayed item, to prevent processing associated with thedisplay item from being performed despite the user's intention.

Other Embodiments

Embodiment(s) of the present disclosure can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present disclosure has been described with reference toexemplary embodiments, it is to be understood that the disclosure is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An information processing apparatus, comprising:a printing unit configured to print an image; a touch panel displaywhich is able to display a first screen being not able to scroll and asecond screen being able to scroll, wherein the second screen includesplural buttons corresponding to applications of the informationprocessing apparatus; a detection unit configured to detect that aninstruction object touches the touch panel display; a firstdetermination unit configured to determine whether a touch determinationcondition is satisfied, the touch determination condition for executinga process corresponding to a display item touched on the touch paneldisplay; a second determination unit configured to determine whether aflick determination condition for scrolling the second screen issatisfied; and a control unit configured to carry out processingassociated with the touched display item in a case where the displayitem in the first screen is touched, configured to execute the processcorresponding to the display item touched in a case where the displayitem displayed on the second screen is touched and the firstdetermination unit determines that the touch determination condition issatisfied, and configured to scroll the second screen in a case wherethe display item displayed on the second screen is touched and thesecond determination unit determines that the flick determinationcondition is satisfied.
 2. The information processing apparatusaccording to claim 1, wherein, in a case where the touched display itemis in the second screen, and the second determination unit determinesthat the flick determination condition is satisfied, without detecting,by the detecting unit, that the instruction object is detached from thetouch panel display, the control unit scrolls the touched display item.3. The information processing apparatus according to claim 1, wherein,in a case where the touched display item is in the second screen, andthe second determination unit determines that the flick determinationcondition is satisfied, without detecting, by the detecting unit, thatthe instruction object is detached from the touch panel display, thecontrol unit changes the currently displayed page to another page. 4.The information processing apparatus according to claim 1, furthercomprising: a display control unit configured to, in a case where thetouched display item is in the second screen, the detection unit detectsthat the instruction object touches the display item, indicate in anidentifiable manner that the display item is touched, wherein, in a casewhere the touched display item is in the second screen, and the seconddetermination unit determines that the flick determination condition issatisfied, the display control unit indicates in an identifiable mannerthat processing of the touched display item is canceled.
 5. Theinformation processing apparatus according to claim 1, wherein the firstscreen is a screen which can detect a flick operation, and the secondscreen is a screen which cannot detect the flick operation.
 6. A controlmethod for controlling an information processing apparatus which has atouch panel display which is able to display a first screen being notable to scroll and a second screen being able to scroll, wherein thesecond screen includes plural buttons corresponding to applications ofthe information processing apparatus, the control method comprising:printing an image; detecting that an instruction object touches thetouch panel display; determining whether a touch determination conditionis satisfied, and executing a process corresponding to a display itemtouched on the touch panel display; determining whether a flickdetermination condition for scrolling the second screen is satisfied;carrying out processing associated with the touched display item in acase where the display item in the first screen is touched; executingthe process corresponding to the display item touched in a case wherethe display item displayed on the second screen is touched and the touchdetermination condition is determined to be satisfied; and scrolling thesecond screen in a case where the display item displayed on the secondscreen is touched and the flick determination condition is determined tobe satisfied.
 7. A non-transitory computer-readable storage mediumstoring a program for causing a computer to execute a method forcontrolling an information processing apparatus which has a touch paneldisplay which is able to display a first screen being not able to scrolland a second screen being able to scroll, wherein the second screenincludes plural buttons corresponding to applications of the informationprocessing apparatus, the method comprising: printing an image;detecting that an instruction object touches the touch panel display;determining whether a touch determination condition is satisfied, andexecuting a process corresponding to a display item touched on the touchpanel display, determining whether a flick determination condition forscrolling the second screen is satisfied; carrying out processingassociated with the touched display item in a case where the displayitem in the first screen is touched, executing the process correspondingto the display item touched in a case where the display item displayedon the second screen is touched and the touch determination condition isdetermined to be satisfied, and scrolling the second screen in a casewhere the display item displayed on the second screen is touched and theflick determination condition is determined to be satisfied.
 8. An imageprocessing apparatus, comprising: a printing unit configured to print animage; a touch panel display which is able to display a first screenbeing not able to scroll and a second screen being able to scroll,wherein the second screen includes a plurality of buttons correspondingto applications of the image processing apparatus; a detection unitconfigured to detect that an instruction object touches the touch paneldisplay; a first determination unit configured to determine whether atouch determination condition is satisfied, the touch determinationcondition for executing a process corresponding to a display itemtouched on the touch panel display; a second determination unitconfigured to determine whether a flick determination condition forscrolling the second screen is satisfied; and a control unit configuredto carry out processing associated with the touched display item in acase where the display item in the first screen is touched, configuredto execute the process corresponding to the display item touched in acase where the display item displayed on the second screen is touchedand the first determination unit determines that the touch determinationcondition is satisfied, and configured to scroll the second screen in acase where the display item displayed on the second screen is touchedand the second determination unit determines that the flickdetermination condition is satisfied.